<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"/>
  <title>
   丹张: R利剑NoSQL系列文章 之 Redis  | 数螺 | NAUT IDEA
  </title>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" rel="stylesheet"/>
  <link href="http://cdn.bootcss.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
  <style type="text/css">
   #xmain img {
                  max-width: 100%;
                  display: block;
                  margin-top: 10px;
                  margin-bottom: 10px;
                }

                #xmain p {
                    line-height:150%;
                    font-size: 16px;
                    margin-top: 20px;
                }

                #xmain h2 {
                    font-size: 24px;
                }

                #xmain h3 {
                    font-size: 20px;
                }

                #xmain h4 {
                    font-size: 18px;
                }


                .header {
	           background-color: #0099ff;
	           color: #ffffff;
	           margin-bottom: 20px;
	        }

	        .header p {
                  margin: 0px;
                  padding: 10px 0;
                  display: inline-block;  
                  vertical-align: middle;
                  font-size: 16px;
               }

               .header a {
                 color: white;
               }

              .header img {
                 height: 25px;
              }
  </style>
  <script src="http://cdn.bootcss.com/jquery/3.0.0/jquery.min.js">
  </script>
  <script src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript">
   MathJax.Hub.Config({
          tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]},
          TeX: {equationNumbers: {autoNumber: "AMS"}}
        });
  </script>
  <script src="http://nautstatic-10007657.file.myqcloud.com/static/css/readability.min.js" type="text/javascript">
  </script>
  <script type="text/javascript">
   $(document).ready(function() {
                 var loc = document.location;
                 var uri = {
                  spec: "http://cos.name/2013/04/nosql-r-redis/",
                  host: "http://cos.name",
                  prePath: "http://cos.name",
                  scheme: "http",
                  pathBase: "http://cos.name/"
                 };
    
                 var documentClone = document.cloneNode(true);
                 var article = new Readability(uri, documentClone).parse();
     
                 document.getElementById("xmain").innerHTML = article.content;
                });
  </script>
  <!-- 1466441425: Accept with keywords: (title(0.2):中国,统计学,服务平台,门户网站,文章, topn(0.366666666667):软件应用,数据文件,统计学,R语言,数组,数据挖掘,数据模型,函数库,类库,读取数据,交集,数据库,元素,清空,类型,部分,函数,对象,文章,环境,案例,文字说明,链接,客户端,批量,数据,代码,列表,评论,论坛).-->
 </head>
 <body class="single single-post postid-7715 single-format-standard sidebar" onload="">
  <div class="header">
   <div class="container">
    <div class="row">
     <div class="col-xs-6 col-sm-6 text-left">
      <a href="/databee">
       <img src="http://nautidea-10007657.cos.myqcloud.com/logo_white.png"/>
      </a>
      <a href="/databee">
       <p>
        数螺
       </p>
      </a>
     </div>
     <div class="hidden-xs col-sm-6 text-right">
      <p>
       致力于数据科学的推广和知识传播
      </p>
     </div>
    </div>
   </div>
  </div>
  <div class="container text-center">
   <h1>
    丹张: R利剑NoSQL系列文章 之 Redis
   </h1>
  </div>
  <div class="container" id="xmain">
   <div class="hfeed site" id="page">
    <header class="site-header" id="masthead" role="banner">
     <div id="cos-logo">
      <a href="http://cos.name/">
       <img src="http://cos.name/wp-content/themes/COS-kermesinus/images/headers/cos-logo.png"/>
      </a>
     </div>
     <div class="navbar" id="navbar">
      <nav class="navigation main-navigation" id="site-navigation" role="navigation">
       <h3 class="menu-toggle">
        菜单
       </h3>
       <a class="screen-reader-text skip-link" href="http://cos.name/2013/04/nosql-r-redis/#content" title="跳至内容">
        跳至内容
       </a>
       <div class="menu-%e6%88%91%e7%9a%84%e8%8f%9c%e5%8d%95-container">
        <ul class="nav-menu" id="menu-%e6%88%91%e7%9a%84%e8%8f%9c%e5%8d%95">
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-home menu-item-4746" id="menu-item-4746">
          <a href="http://cos.name">
           主页
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-8120" id="menu-item-8120">
          <a href="http://cos.name/cn">
           论坛
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8124" id="menu-item-8124">
            <a href="http://cos.name/cn/wp-login.php?action=register">
             论坛注册
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8125" id="menu-item-8125">
            <a href="http://cos.name/cn/wp-login.php">
             论坛登录
            </a>
           </li>
          </ul>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8110" id="menu-item-8110">
          <a href="http://cos.name/books/">
           图书资料
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8112" id="menu-item-8112">
          <a href="http://cos.name/videos">
           视频教程
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8333" id="menu-item-8333">
          <a href="http://cos.name/salon/">
           统计沙龙
          </a>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8111" id="menu-item-8111">
          <a href="http://cos.name/chinar/">
           R语言会议
          </a>
         </li>
         <li class="menu-item menu-item-type-post_type menu-item-object-page menu-item-8109" id="menu-item-8109">
          <a href="http://cos.name/training/">
           讲座与培训
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8115" id="menu-item-8115">
          <a href="http://cos.name/cn/forum/comprehensive/job/">
           招聘信息
          </a>
         </li>
         <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-4780" id="menu-item-4780">
          <a href="http://cos.name/about">
           关于我们
          </a>
          <ul class="sub-menu">
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8113" id="menu-item-8113">
            <a href="http://cos.name/2008/11/how-to-work-with-cos/">
             加入我们
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8119" id="menu-item-8119">
            <a href="http://cos.name/donate/">
             赞助我们
            </a>
           </li>
           <li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-8114" id="menu-item-8114">
            <a href="http://cos.name/cn/forum/26">
             项目合作
            </a>
           </li>
          </ul>
         </li>
        </ul>
       </div>
       <form action="http://cos.name/" class="search-form" method="get" role="search">
        <label>
         <span class="screen-reader-text">
          搜索：
         </span>
        </label>
       </form>
      </nav>
      <!-- #site-navigation -->
     </div>
     <!-- #navbar -->
    </header>
    <!-- #masthead -->
    <div class="site-main" id="main">
     <div class="content-area" id="primary">
      <div class="site-content" id="content" role="main">
       <article class="post-7715 post type-post status-publish format-standard hentry category-software tag-nosql tag-redis tag-rredis tag-r-language" id="post-7715">
        <header class="entry-header">
         <h1 class="entry-title">
          R利剑NoSQL系列文章 之 Redis
         </h1>
         <div class="entry-meta">
          <span class="date">
           <a href="http://cos.name/2013/04/nosql-r-redis/" rel="bookmark" title="链向R利剑NoSQL系列文章 之 Redis的固定链接">
            <time class="entry-date" datetime="2013-04-18T12:00:50+00:00">
             2013/04/18
            </time>
           </a>
          </span>
          <span class="categories-links">
           <a href="http://cos.name/category/software/" rel="category tag">
            软件应用
           </a>
          </span>
          <span class="tags-links">
           <a href="http://cos.name/tag/nosql/" rel="tag">
            nosql
           </a>
           、
           <a href="http://cos.name/tag/redis/" rel="tag">
            redis
           </a>
           、
           <a href="http://cos.name/tag/rredis/" rel="tag">
            rredis
           </a>
           、
           <a href="http://cos.name/tag/r-language/" rel="tag">
            R语言
           </a>
          </span>
          <span class="author vcard">
           <a class="url fn n" href="http://cos.name/author/conan/" rel="author" title="查看所有由张 丹发布的文章">
            张 丹
           </a>
          </span>
         </div>
         <!-- .entry-meta -->
        </header>
        <!-- .entry-header -->
        <div class="entry-content">
         <h1>
         </h1>
         <p>
          Author: 张丹(Conan)
          <br/>
          Email:
          <a href="mailto:bsspirit@gmail.com">
           bsspirit@gmail.com
          </a>
          <br/>
          Blog:
          <a href="http://www.fens.me/">
           http://www.fens.me
          </a>
          <br/>
          Weibo: @Conan_Z
          <br/>
          Date: 2013-4-14
         </p>
         <h3>
          <strong>
           R利剑NoSQL系列文章
          </strong>
         </h3>
         <p>
          R利剑NoSQL系列文章，主要介绍通过R语言连接使用nosql数据库。涉及的NoSQL产品，包括Redis, MongoDB, HBase, Hive, Cassandra, Neo4j。希望通过我的介绍让广大的R语言爱好者，有更多的开发选择，做出更多地激动人心的应用。
         </p>
         <p>
          由于文章篇幅有限，均跳过NoSQL的安装过程，请自行参考文档安装。
         </p>
         <h3>
          <strong>
           第二篇 R利剑Redis，分为4个章节。
          </strong>
         </h3>
         <pre><code>Redis环境准备
rredis函数库
rredis基本使用操作
rredis使用案例
</code></pre>
         <p>
          每一章节，都会分为”文字说明部分”和”代码部分”，保持文字说明与代码的连贯性。
         </p>
         <h3>
          <strong>
           第一章 Redis环境准备
          </strong>
         </h3>
         <h4>
          文字说明部分：
         </h4>
         <p>
          首先环境准备，这里我选择了Linux Ubuntu操作系统12.04的64位服务器版本，大家可以根据自己的使用习惯选择顺手的Linux。
          <br/>
          <span id="more-7715">
          </span>
          <br/>
          Redis安装过程跳过。sudo apt-get install redis-server
         </p>
         <p>
          查看Redis服务器环境
          <br/>
          使用/etc/init.d/redis-server命令，启动redis-server， 默认端口：port=6379
         </p>
         <p>
          在服务器端，用telnet连接redis-server
         </p>
         <p>
          用telnet插入数据，读取数据
         </p>
         <p>
          R语言环境2.15.0，WinXP通过远程连接，访问Redis server。
         </p>
         <h4>
          <strong>
           代码部分：
          </strong>
         </h4>
         <p>
          查看操作系统
         </p>
         <pre><code>~ uname -a

    Linux AY121111030241cda8003 3.2.0-29-generic #46-Ubuntu SMP Fri Jul 27 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

~ cat /etc/issue

    Ubuntu 12.04.1 LTS \n \l
</code></pre>
         <p>
          启动redis
         </p>
         <pre><code>~ /etc/init.d/redis-server start

    Starting redis-server: redis-server.
</code></pre>
         <p>
          查看系统进程
         </p>
         <pre><code>~ ps -aux|grep redis

    redis    20128  0.0  0.0  10676  1428 ?        Ss   16:39   0:00 /usr/bin/redis-server /etc/redis/redis.conf
</code></pre>
         <p>
          查看启日志
         </p>
         <pre><code>~ cat  /var/log/redis/redis-server.log

    [20128] 14 Apr 16:39:43 * Server started, Redis version 2.2.12
    [20128] 14 Apr 16:39:43 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
    [20128] 14 Apr 16:39:43 * The server is now ready to accept connections on port 6379
</code></pre>
         <p>
          telnet连接redis-server
         </p>
         <pre><code>~ telnet localhost 6379

    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
</code></pre>
         <p>
          插入数据
         </p>
         <pre><code>    rpush data 1
    :1

    rpush data 2
    :2
</code></pre>
         <p>
          查询数据
         </p>
         <pre><code>    lrange data 0 -1
    *2
    $1
    1
    $1
    2
</code></pre>
         <p>
          R语言开发环境2.15.0，WinXP
         </p>
         <pre><code>~ R
R version 2.15.0 (2012-03-30)
Copyright (C) 2012 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: i386-pc-mingw32/i386 (32-bit)
</code></pre>
         <h3>
          <strong>
           第二章 rredis函数库
          </strong>
         </h3>
         <p>
          rredis提供了100函数，对应用redis的操作。虽然函数也不少，但是用法都是比较简单的，对R语言支持足够灵活，代码也比较简洁。
         </p>
         <p>
          下面列出了所有rredis函数库，我只挑选一些常用的介绍。
         </p>
         <h4>
          <strong>
           文字说明部分：
          </strong>
         </h4>
         <p>
          建立连接，关闭连接
         </p>
         <pre><code>redisConnect() , redisClose()
</code></pre>
         <p>
          清空当前/所有数据库数据
         </p>
         <pre><code>redisFlushDB() , redisFlushAll()
</code></pre>
         <p>
          列出所有KEY值，KEY的数量
         </p>
         <pre><code>redisKeys(), redisDBSize()
</code></pre>
         <p>
          选择切换数据库:0是默认数据库
         </p>
         <pre><code>redisSelect(0)    
</code></pre>
         <p>
          插入string对象，批量插入
         </p>
         <pre><code>redisSet('x',runif(5)), redisMSet(list(x=pi,y=runif(5),z=sqrt(2)))
</code></pre>
         <p>
          读取string对象，批量读取
         </p>
         <pre><code>redisGet('x'), redisMGet(c('x','y','z'))
</code></pre>
         <p>
          删除对象
         </p>
         <pre><code>redisDelete('x')
</code></pre>
         <p>
          左边插入数组对象,右边插入数组对象
         </p>
         <pre><code>redisLPush('a',1), redisRPush('a','A')
</code></pre>
         <p>
          左边弹出一个数组对象， 右边弹出一个数组对象，
         </p>
         <pre><code>redisLPop('a'), redisRPop('a')
</code></pre>
         <p>
          从左边显示数组对象列表
         </p>
         <pre><code>redisLRange('a',0,-1)
</code></pre>
         <p>
          插入set类型对象
         </p>
         <pre><code>redisSAdd('A',runif(2))
</code></pre>
         <p>
          显示set对象有几个元素，列表显示set对象元素
         </p>
         <pre><code>redisSCard('A'), redisSMembers('A')
</code></pre>
         <p>
          显示两个set对象的差集，交集，并集
         </p>
         <pre><code>redisSDiff(c('A','B')),redisSInter(c('A','B')),redisSUnion(c('A','B'))
</code></pre>
         <h4>
          <strong>
           代码部分：
          </strong>
         </h4>
         <p>
          共有100个函数
         </p>
         <pre><code>redisAuth
redisBgRewriteAOF
redisBgSave
redisBLPop
redisBRPop
redisBRPopLPush
redisClose
redisCmd
redisConnect
redisDBSize
redisDecr
redisDecrBy
redisDelete
redisDiscard
redisEval
redisExec
redisExists
redisExpire
redisExpireAt
redisFlushAll
redisFlushDB
redisGet
redisGetContext
redisGetResponse
redisGetSet
redisHDel
redisHExists
redisHFields
redisHGet
redisHGetAll
redisHIncrBy
redisHKeys
redisHLen
redisHMGet
redisHMSet
redisHSet
redisHVals
redisIncr
redisIncrBy
redisInfo
redisKeys
redisLIndex
redisLLen
redisLPop
redisLPush
redisLRange
redisLRem
redisLSet
redisLTrim
redisMGet
redisMonitorChannels
redisMove
redisMSet
redisMulti
redisPublish
redisRandomKey
redisRename
redisRPop
redisRPopLPush
redisRPush
redisSAdd
redisSave
redisSCard
redisSDiff
redisSDiffStore
redisSelect
redisSet
redisSetBlocking
redisSetContext
redisShutdown
redisSInter
redisSInterStore
redisSIsMember
redisSlaveOf
redisSMembers
redisSMove
redisSort
redisSPop
redisSRandMember
redisSRem
redisSubscribe
redisSUnion
redisSUnionStore
redisTTL
redisType
redisUnsubscribe
redisUnwatch
redisWatch
redisZAdd
redisZCard
redisZIncrBy
redisZInterStore
redisZRange
redisZRangeByScore
redisZRank
redisZRem
redisZRemRangeByRank
redisZRemRangeByScore
redisZScore
redisZUnionStore
</code></pre>
         <h3>
          <strong>
           第三章 rredis基本使用操作
          </strong>
         </h3>
         <h4>
          文字说明部分：
         </h4>
         <p>
          首先，要安装rredis类库，加载类库。
         </p>
         <p>
          redisConnect(host=“192.168.1.101”,port=6379)
         </p>
         <p>
          然后，通过redisConnect()函数，建立与Redis Server的连接。如果是本地连接redisConnect()不要参数，下面例子使用远程连接，增加host参数配置IP地址。redisConnect(host=“192.168.1.101”,port=6379)
         </p>
         <p>
          redis的基本操作：建议链接，切换数据库，列表显示所有KEY值，清空当前数据库数据，清空所有数据库数据，关闭链接，
         </p>
         <p>
          string类型操作：插入，读取，删除，插入并设置过期时间，批量操作
         </p>
         <p>
          list类型操作：插入，读取，弹出
         </p>
         <p>
          set类型操作：插入，读取，交集，差集，并集
         </p>
         <p>
          rredis与redis-cli的交互操作
         </p>
         <h4>
          <strong>
           代码部分：
          </strong>
         </h4>
         <h4>
          redis的基本操作：
         </h4>
         <pre><code>#安装rredis
install.packages(rredis)

#加载rredis类库
library(rredis)

#远程连接redis server
redisConnect(host="192.168.1.101",port=6379)

#列出所有的keys
redisKeys()
    [1] "x"    "data"

#显示有多少个key
redisDBSize()
    [1] 2

#切换数据库1
redisSelect(1)
    [1] "OK"
redisKeys()
    NULL

#切换数据库0
redisSelect(0)
    [1] "OK"
redisKeys()
    [1] "x"    "data"

#清空当前数据库数据
redisFlushDB()
    [1] "OK"

#清空所有数据库数据
redisFlushAll()
    [1] "OK"

#关闭链接
redisClose()
</code></pre>
         <h4>
          <strong>
           string类型操作:
          </strong>
         </h4>
         <pre><code>#插入对象
redisSet('x',runif(5))
    1] "OK"

#读取对象
redisGet('x')
    [1] 0.67616159 0.06358643 0.07478021 0.32129140 0.16264615

#设置数据过期时间
redisExpire('x',1)
Sys.sleep(1)
redisGet('x')
    NULL

#批量插入
redisMSet(list(x=pi,y=runif(5),z=sqrt(2)))
    [1] TRUE

#批量读取
redisMGet(c('x','y','z'))
    $x
    [1] 3.141593
    $y
    [1] 0.9249501 0.3444994 0.6477250 0.1681421 0.2646853
    $z
    [1] 1.414214

#删除数据    
redisDelete('x')
    [1] 1
redisGet('x')
    NULL
</code></pre>
         <h4>
          <strong>
           list类型操作
          </strong>
         </h4>
         <pre><code>#从数组左边插入数据
redisLPush('a',1)
redisLPush('a',2)
redisLPush('a',3)

#显示从数组左边0-2的数据
redisLRange('a',0,2)
    [[1]]
    [1] 3
    [[2]]
    [1] 2
    [[3]]
    [1] 1

#从数据左边弹出一个数据
redisLPop('a')
    [1] 3

#显示从数组左边0-(-1)的数据   
redisLRange('a',0,-1)
    [[1]]
    [1] 2

    [[2]]
    [1] 1

#从数组右边插入数据
redisRPush('a','A')
redisRPush('a','B')

#显示从数组左边0-(-1)的数据
redisLRange('a',0,-1)
    [[1]]
    [1] 2
    [[2]]
    [1] 1
    [[3]]
    [1] "A"
    [[4]]
    [1] "B"

#从数据右边弹出一个数据
redisRPop('a')
</code></pre>
         <h4>
          <strong>
           set类型操作
          </strong>
         </h4>
         <pre><code>redisSAdd('A',runif(2))
redisSAdd('A',55)

#显示对象有几个元素
redisSCard('A')
    [1] 2

#列表显示set对象元素
redisSMembers('A')
    [[1]]
    [1] 55

    [[2]]
    [1] 0.6494041 0.3181108

redisSAdd('B',55)
redisSAdd('B',rnorm(3))

#显示对象有几个元素
redisSCard('B')
    [1] 2

#列表显示set对象元素    
redisSMembers('B')
    [[1]]
    [1] 55

    [[2]]
    [1] 0.1074787 1.3111006 0.8223434

#差集
redisSDiff(c('A','B'))
    [[1]]
    [1] 0.6494041 0.3181108

#交集
redisSInter(c('A','B'))
    [[1]]
    [1] 55

#并集
redisSUnion(c('A','B'))
    [[1]]
    [1] 55

    [[2]]
    [1] 0.1074787 1.3111006 0.8223434

    [[3]]
    [1] 0.6494041 0.3181108
</code></pre>
         <h4>
          <strong>
           rredis与redis-cli交互
          </strong>
         </h4>
         <p>
          redis客户端插入数据，rredis读取数据
         </p>
         <pre><code>#打开redis客户端
~ redis-cli
redis 127.0.0.1:6379&gt; set shell "Greetings, R client!"
    OK

redisGet('shell')
    [1] "Greetings, R client!"
</code></pre>
         <p>
          rredis插入数据，redis客户端读取数据
         </p>
         <pre><code>#插入数据
redisSet('R', 'Greetings, shell client!')
    [1] "OK"

#读取数据(有乱码)
redis 127.0.0.1:6379&gt; get R
    "X\\x00\x00\x00\x02\x00\x02\x0f\x00\x00\x02\x03\x00\x00\x00\x00\x10\x00\x00\x00\x01\x00\x04\x00\\x00\x00\x00\x18Greetings, shell client!"
</code></pre>
         <p>
          转型以数组方式存储(charToRaw)
         </p>
         <pre><code>redisSet('R', charToRaw('Greetings, shell client!'))
    [1] TRUE

#正常读取数据
redis 127.0.0.1:6379&gt; get R
    "Greetings, shell client!"
</code></pre>
         <h3>
          <strong>
           第四章 rredis测试案例
          </strong>
         </h3>
         <p>
          测试案例的需求：
          <br/>
          读入一个数据文件，从左到右分别是用户id，口令，邮箱，在redis里建立合适的数据模型，并将这些数据导入到redis。
         </p>
         <h4>
          <strong>
           文字说明部分：
          </strong>
         </h4>
         <p>
          首先，定义数据模型：
         </p>
         <p>
          KEY:
          <br/>
          users:用户id
         </p>
         <p>
          VALUE:
          <br/>
          id:用户id
          <br/>
          pw:口令
          <br/>
          email:邮箱
         </p>
         <p>
          R语言读入数据文件。
         </p>
         <p>
          然后，建立redis连接，以循环方式插入数据。
         </p>
         <p>
          以users:wolys为KEY，输出对应用的VALVE值。
         </p>
         <h4>
          <strong>
           代码部分
          </strong>
         </h4>
         <pre><code>#读入数据
data&lt;-scan(file="data5.txt",what=character(),sep=" ")
data&lt;-data[which(data!='#')]

&gt; data

     [1] "wolys"                   "wolysopen111"            "wolys@21cn.com"         
     [4] "coralshanshan"           "601601601"               "zss1984@126.com"        
     [7] "pengfeihuchao"           "woaidami"                "294522652@qq.com"       
    [10] "simulategirl"            "@#$9608125"              "simulateboy@163.com"    
    [13] "daisypp"                 "12345678"                "zhoushigang_123@163.com"
    [16] "sirenxing424"            "tfiloveyou"              "sirenxing424@126.com"   
    [19] "raininglxy"              "1901061139"              "lixinyu23@qq.com"       
    [22] "leochenlei"              "leichenlei"              "chenlei1201@gmail.com"  
    [25] "z370433835"              "lkp145566"               "370433835@qq.com"       
    [28] "cxx0409"                 "12345678"                "cxx0409@126.com"        
    [31] "xldq_l"                  "061222ll"                "viv093@sina.com"  

#连接redis连接
redisConnect(host="192.168.1.101",port=6379)
redisFlushAll()
redisKeys()

#循环插入数据
id&lt;-NULL
for(i in 1:length(data)){
  if(i %% 3 == 1) {
    id&lt;-data[i]
    redisSAdd(paste("users:",id,sep=""),paste("id:",id,sep=""))
  } else if(i %% 3 == 2) {
    redisSAdd(paste("users:",id,sep=""),paste("pw:",data[i],sep=""))
  } else {
    redisSAdd(paste("users:",id,sep=""),paste("email:",data[i],sep=""))
  }
}

#列出所有的KEY
redisKeys()

     [1] "users:cxx0409"       "users:sirenxing424"  "users:simulategirl"  "users:xldq_l"       
     [5] "users:coralshanshan" "users:raininglxy"    "users:pengfeihuchao" "users:leochenlei"   
     [9] "users:daisypp"       "users:wolys"         "users:z370433835"   

#通过KEY查询VALUE
redisSMembers("users:wolys")

    [[1]]
    [1] "pw:wolysopen111"

    [[2]]
    [1] "email:wolys@21cn.com"

    [[3]]
    [1] "id:wolys"

#关闭redis连接
redisClose()
</code></pre>
         <p>
          完成测试案例。
         </p>
         <h4>
          数据文件：data5.txt
         </h4>
         <pre><code>wolys # wolysopen111 # wolys@21cn.com
coralshanshan # 601601601 # zss1984@126.com
pengfeihuchao # woaidami # 294522652@qq.com
simulategirl # @#$9608125 # simulateboy@163.com
daisypp # 12345678 # zhoushigang_123@163.com
sirenxing424 # tfiloveyou # sirenxing424@126.com
raininglxy # 1901061139 # lixinyu23@qq.com
leochenlei # leichenlei # chenlei1201@gmail.com
z370433835 # lkp145566 # 370433835@qq.com
cxx0409 # 12345678 # cxx0409@126.com
xldq_l # 061222ll # viv093@sina.com</code></pre>
         <div class="wumii-hook">
          <br/>
          <br/>
         </div>
        </div>
        <!-- .entry-content -->
        <footer class="entry-meta">
        </footer>
        <!-- .entry-meta -->
       </article>
       <!-- #post -->
       <nav class="navigation post-navigation" role="navigation">
        <h1 class="screen-reader-text">
         文章导航
        </h1>
        <div class="nav-links">
         <a href="http://cos.name/2013/04/nosql1-rmongodb/" rel="prev">
          <span class="meta-nav">
           ←
          </span>
          R利剑NoSQL系列文章 之 MongoDB
         </a>
         <a href="http://cos.name/2013/04/the-threat-from-data-science/" rel="next">
          COS每周精选:数据科学的威胁
          <span class="meta-nav">
           →
          </span>
         </a>
        </div>
        <!-- .nav-links -->
       </nav>
       <!-- .navigation -->
       <div class="comments-area" id="comments">
        <h2 class="comments-title">
         《
         <span>
          R利剑NoSQL系列文章 之 Redis
         </span>
         》有6个想法
        </h2>
        <ol class="comment-list">
         <li class="comment even thread-even depth-1 parent" id="comment-4048">
          <article class="comment-body" id="div-comment-4048">
           <footer class="comment-meta">
            <div class="comment-author vcard">
             <img src="http://sdn.geekzu.org/avatar/66aa115466aeedf71937ff80c00b7982?s=74&amp;d=monsterid&amp;r=g"/>
             <b class="fn">
              <a class="url" href="http://www.road2stat.com/" rel="external nofollow">
               Xiao Nan
              </a>
             </b>
             <span class="says">
              说道：
             </span>
            </div>
            <!-- .comment-author -->
            <div class="comment-metadata">
             <a href="http://cos.name/2013/04/nosql-r-redis/#comment-4048">
              <time datetime="2013-04-18T17:47:48+00:00">
               2013/04/18 17:47
              </time>
             </a>
            </div>
            <!-- .comment-metadata -->
           </footer>
           <!-- .comment-meta -->
           <div class="comment-content">
            <p>
             可以顺便介绍下每种的应用场景和优势弱点喔。
            </p>
           </div>
           <!-- .comment-content -->
           <div class="reply">
            <a aria-label="回复给Xiao Nan" class="comment-reply-link" href="http://cos.name/2013/04/nosql-r-redis/?replytocom=4048#respond" onclick='return addComment.moveForm( "div-comment-4048", "4048", "respond", "7715" )' rel="nofollow">
             回复
            </a>
           </div>
          </article>
          <!-- .comment-body -->
          <ol class="children">
           <li class="comment byuser comment-author-conan bypostauthor odd alt depth-2" id="comment-4050">
            <article class="comment-body" id="div-comment-4050">
             <footer class="comment-meta">
              <div class="comment-author vcard">
               <img src="http://sdn.geekzu.org/avatar/732c1985d0f02cef1d2c69df55aca7d0?s=74&amp;d=monsterid&amp;r=g"/>
               <b class="fn">
                张 丹
               </b>
               <span class="says">
                说道：
               </span>
              </div>
              <!-- .comment-author -->
              <div class="comment-metadata">
               <a href="http://cos.name/2013/04/nosql-r-redis/#comment-4050">
                <time datetime="2013-04-18T20:31:17+00:00">
                 2013/04/18 20:31
                </time>
               </a>
              </div>
              <!-- .comment-metadata -->
             </footer>
             <!-- .comment-meta -->
             <div class="comment-content">
              <p>
               再下一篇文章，我会加上一些介绍的。
              </p>
             </div>
             <!-- .comment-content -->
             <div class="reply">
              <a aria-label="回复给张 丹" class="comment-reply-link" href="http://cos.name/2013/04/nosql-r-redis/?replytocom=4050#respond" onclick='return addComment.moveForm( "div-comment-4050", "4050", "respond", "7715" )' rel="nofollow">
               回复
              </a>
             </div>
            </article>
            <!-- .comment-body -->
           </li>
           <!-- #comment-## -->
          </ol>
          <!-- .children -->
         </li>
         <!-- #comment-## -->
         <li class="comment even thread-odd thread-alt depth-1 parent" id="comment-4442">
          <article class="comment-body" id="div-comment-4442">
           <footer class="comment-meta">
            <div class="comment-author vcard">
             <img src="http://sdn.geekzu.org/avatar/75344d9ce3b86289f45bda28c04197ce?s=74&amp;d=monsterid&amp;r=g"/>
             <b class="fn">
              enyo
             </b>
             <span class="says">
              说道：
             </span>
            </div>
            <!-- .comment-author -->
            <div class="comment-metadata">
             <a href="http://cos.name/2013/04/nosql-r-redis/#comment-4442">
              <time datetime="2013-06-26T18:20:33+00:00">
               2013/06/26 18:20
              </time>
             </a>
            </div>
            <!-- .comment-metadata -->
           </footer>
           <!-- .comment-meta -->
           <div class="comment-content">
            <p>
             这个包不支付redis的pipeline吗？
            </p>
           </div>
           <!-- .comment-content -->
           <div class="reply">
            <a aria-label="回复给enyo" class="comment-reply-link" href="http://cos.name/2013/04/nosql-r-redis/?replytocom=4442#respond" onclick='return addComment.moveForm( "div-comment-4442", "4442", "respond", "7715" )' rel="nofollow">
             回复
            </a>
           </div>
          </article>
          <!-- .comment-body -->
          <ol class="children">
           <li class="comment byuser comment-author-conan bypostauthor odd alt depth-2" id="comment-4449">
            <article class="comment-body" id="div-comment-4449">
             <footer class="comment-meta">
              <div class="comment-author vcard">
               <img src="http://sdn.geekzu.org/avatar/732c1985d0f02cef1d2c69df55aca7d0?s=74&amp;d=monsterid&amp;r=g"/>
               <b class="fn">
                张 丹
               </b>
               <span class="says">
                说道：
               </span>
              </div>
              <!-- .comment-author -->
              <div class="comment-metadata">
               <a href="http://cos.name/2013/04/nosql-r-redis/#comment-4449">
                <time datetime="2013-06-27T00:12:31+00:00">
                 2013/06/27 00:12
                </time>
               </a>
              </div>
              <!-- .comment-metadata -->
             </footer>
             <!-- .comment-meta -->
             <div class="comment-content">
              <p>
               没有对应的函数，应该不支持这个功能。
              </p>
             </div>
             <!-- .comment-content -->
             <div class="reply">
              <a aria-label="回复给张 丹" class="comment-reply-link" href="http://cos.name/2013/04/nosql-r-redis/?replytocom=4449#respond" onclick='return addComment.moveForm( "div-comment-4449", "4449", "respond", "7715" )' rel="nofollow">
               回复
              </a>
             </div>
            </article>
            <!-- .comment-body -->
           </li>
           <!-- #comment-## -->
          </ol>
          <!-- .children -->
         </li>
         <!-- #comment-## -->
         <li class="comment even thread-even depth-1" id="comment-6798">
          <article class="comment-body" id="div-comment-6798">
           <footer class="comment-meta">
            <div class="comment-author vcard">
             <img src="http://sdn.geekzu.org/avatar/729db8320d0fb30db51f0a40cc3bfb60?s=74&amp;d=monsterid&amp;r=g"/>
             <b class="fn">
              ghw
             </b>
             <span class="says">
              说道：
             </span>
            </div>
            <!-- .comment-author -->
            <div class="comment-metadata">
             <a href="http://cos.name/2013/04/nosql-r-redis/#comment-6798">
              <time datetime="2015-08-03T15:17:03+00:00">
               2015/08/03 15:17
              </time>
             </a>
            </div>
            <!-- .comment-metadata -->
           </footer>
           <!-- .comment-meta -->
           <div class="comment-content">
            <p>
             windows下使用R读取Hash类型的redis数据，中文乱码该如何解决。
            </p>
           </div>
           <!-- .comment-content -->
           <div class="reply">
            <a aria-label="回复给ghw" class="comment-reply-link" href="http://cos.name/2013/04/nosql-r-redis/?replytocom=6798#respond" onclick='return addComment.moveForm( "div-comment-6798", "6798", "respond", "7715" )' rel="nofollow">
             回复
            </a>
           </div>
          </article>
          <!-- .comment-body -->
         </li>
         <!-- #comment-## -->
         <li class="comment odd alt thread-odd thread-alt depth-1" id="comment-6802">
          <article class="comment-body" id="div-comment-6802">
           <footer class="comment-meta">
            <div class="comment-author vcard">
             <img src="http://sdn.geekzu.org/avatar/7f7a80feb4d9841b7431540168eff343?s=74&amp;d=monsterid&amp;r=g"/>
             <b class="fn">
              宁威
             </b>
             <span class="says">
              说道：
             </span>
            </div>
            <!-- .comment-author -->
            <div class="comment-metadata">
             <a href="http://cos.name/2013/04/nosql-r-redis/#comment-6802">
              <time datetime="2015-08-05T15:22:00+00:00">
               2015/08/05 15:22
              </time>
             </a>
            </div>
            <!-- .comment-metadata -->
           </footer>
           <!-- .comment-meta -->
           <div class="comment-content">
            <p>
             cvxcv 谢谢
            </p>
           </div>
           <!-- .comment-content -->
           <div class="reply">
            <a aria-label="回复给宁威" class="comment-reply-link" href="http://cos.name/2013/04/nosql-r-redis/?replytocom=6802#respond" onclick='return addComment.moveForm( "div-comment-6802", "6802", "respond", "7715" )' rel="nofollow">
             回复
            </a>
           </div>
          </article>
          <!-- .comment-body -->
         </li>
         <!-- #comment-## -->
        </ol>
        <!-- .comment-list -->
        <div class="comment-respond" id="respond">
         <h3 class="comment-reply-title" id="reply-title">
          发表评论
          <small>
           <a href="http://cos.name/2013/04/nosql-r-redis/#respond" id="cancel-comment-reply-link" rel="nofollow" style="display:none;">
            取消回复
           </a>
          </small>
         </h3>
         <form action="http://cos.name/wp-comments-post.php" class="comment-form" id="commentform" method="post" novalidate="">
          <p class="comment-notes">
           <span id="email-notes">
            电子邮件地址不会被公开。
           </span>
           必填项已用
           <span class="required">
            *
           </span>
           标注
          </p>
          <p class="comment-form-comment">
           <label for="comment">
            评论
           </label>
           <textarea aria-required="true" cols="45" id="comment" maxlength="65525" name="comment" required="required" rows="8">
           </textarea>
          </p>
          <p class="comment-form-author">
           <label for="author">
            姓名
            <span class="required">
             *
            </span>
           </label>
          </p>
          <p class="comment-form-email">
           <label for="email">
            电子邮件
            <span class="required">
             *
            </span>
           </label>
          </p>
          <p class="comment-form-url">
           <label for="url">
            站点
           </label>
          </p>
          <p class="form-submit">
          </p>
          <p style="display: none;">
          </p>
          <p style="display: none;">
          </p>
         </form>
        </div>
        <!-- #respond -->
       </div>
       <!-- #comments -->
      </div>
      <!-- #content -->
     </div>
     <!-- #primary -->
     <div class="sidebar-container" id="tertiary" role="complementary">
      <div class="sidebar-inner">
       <div class="widget-area">
        <aside class="widget widget_text" id="text-3">
         <h3 class="widget-title">
          关注统计之都
         </h3>
         <div class="textwidget">
          <ul>
           <li>
            新浪微博
            <a href="http://weibo.com/cosname">
             @统计之都
            </a>
           </li>
           <li>
            人人网
            <a href="http://renren.com/cosname">
             @统计之都
            </a>
           </li>
           <li>
            Twitter
            <a href="http://twitter.com/cos_name">
             @cos_name
            </a>
           </li>
          </ul>
         </div>
        </aside>
        <aside class="widget widget_text" id="text-6">
         <h3 class="widget-title">
          微信公众平台
         </h3>
         <div class="textwidget">
          <img src="http://cos.name/wp-content/uploads/2013/04/qrcode-8cm.jpg"/>
          <p style="font-size:12px;margin-left:15px">
           微信号 CapStat
          </p>
          <p>
           我们将第一时间向您推送主站和论坛的精彩内容，以及统计之都的线下活动、竞赛、培训和会议信息。
          </p>
         </div>
        </aside>
        <aside class="widget widget_text" id="text-8">
         <h3 class="widget-title">
          站内导航
         </h3>
         <div class="textwidget">
          <ul>
           <li class="page_item">
            <a href="http://cos.name/cn/">
             中文论坛
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/videos/">
             视频
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/salon/">
             统计沙龙
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/books/">
             图书出版
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/training/">
             教育培训
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/about/">
             关于我们
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/donate/">
             捐赠
            </a>
           </li>
           <li class="page_item">
            <a href="http://cos.name/chinar/">
             R语言会议
            </a>
           </li>
          </ul>
         </div>
        </aside>
        <aside class="widget widget_links" id="linkcat-2">
         <h3 class="widget-title">
          友情链接
         </h3>
         <ul class="xoxo blogroll">
          <li>
           <a href="http://stat.ruc.edu.cn" target="_blank" title="中国人民大学统计学院网站">
            中国人民大学统计学院
           </a>
          </li>
          <li>
           <a href="http://rucdmc.net">
            中国人民大学数据挖掘中心
           </a>
          </li>
          <li>
           <a href="http://birc.gsm.pku.edu.cn/" target="_blank">
            北京大学商务智能研究中心
           </a>
          </li>
          <li>
           <a href="http://sam.cufe.edu.cn/" target="_blank" title="中央财经大学统计与数学学院网站">
            中央财经大学统计与数学学院
           </a>
          </li>
          <li>
           <a href="http://tjx.cueb.edu.cn/" target="_blank" title="首都经济贸易大学统计学院网站">
            首经贸统计学院
           </a>
          </li>
          <li>
           <a href="http://www.shookr.com/">
            数客网大数据社区
           </a>
          </li>
          <li>
           <a href="http://www.xueqing.tv/" target="_blank" title="数据科学在线学习平台">
            雪晴数据网
           </a>
          </li>
          <li>
           <a href="http://iera.name/" target="_blank" title="IERA是一个旨在普及、传播和增进工业工程知识的非营利性网站">
            IERA（直通IE）
           </a>
          </li>
         </ul>
        </aside>
        <aside class="widget widget_categories" id="categories-2">
         <h3 class="widget-title">
          全部分类
         </h3>
         <label class="screen-reader-text" for="cat">
          全部分类
         </label>
         <select class="postform" id="cat" name="cat">
          <option value="-1">
           选择分类目录
          </option>
          <option class="level-0" value="925">
           cos访谈  (4)
          </option>
          <option class="level-0" value="659">
           图书出版  (5)
          </option>
          <option class="level-0" value="379">
           数学方法  (14)
          </option>
          <option class="level-1" value="381">
           分析与代数  (1)
          </option>
          <option class="level-1" value="380">
           概率论  (9)
          </option>
          <option class="level-1" value="382">
           随机过程  (5)
          </option>
          <option class="level-0" value="210">
           数据分析  (81)
          </option>
          <option class="level-1" value="203">
           多元统计  (3)
          </option>
          <option class="level-1" value="42">
           数据挖掘与机器学习  (42)
          </option>
          <option class="level-1" value="36">
           生物与医学统计  (17)
          </option>
          <option class="level-1" value="35">
           计量经济学  (4)
          </option>
          <option class="level-1" value="296">
           金融统计  (3)
          </option>
          <option class="level-1" value="303">
           风险精算  (7)
          </option>
          <option class="level-0" value="177">
           模型专题  (15)
          </option>
          <option class="level-1" value="38">
           回归分析  (10)
          </option>
          <option class="level-1" value="41">
           时间序列  (2)
          </option>
          <option class="level-0" value="784">
           每周精选  (24)
          </option>
          <option class="level-1" value="183">
           可视化  (9)
          </option>
          <option class="level-0" value="967">
           沙龙纪要  (3)
          </option>
          <option class="level-0" value="18">
           经典理论  (46)
          </option>
          <option class="level-1" value="37">
           抽样调查  (3)
          </option>
          <option class="level-1" value="4">
           统计推断  (26)
          </option>
          <option class="level-1" value="236">
           试验设计  (7)
          </option>
          <option class="level-1" value="39">
           非参数统计  (3)
          </option>
          <option class="level-0" value="1">
           统计之都  (279)
          </option>
          <option class="level-1" value="884">
           中国R会议  (2)
          </option>
          <option class="level-1" value="885">
           中国R语言会议  (5)
          </option>
          <option class="level-1" value="446">
           出国留学  (3)
          </option>
          <option class="level-1" value="179">
           推荐文章  (90)
          </option>
          <option class="level-1" value="3">
           新闻通知  (75)
          </option>
          <option class="level-1" value="263">
           统计刊物  (10)
          </option>
          <option class="level-1" value="174">
           网站导读  (40)
          </option>
          <option class="level-1" value="204">
           职业事业  (51)
          </option>
          <option class="level-1" value="213">
           高校课堂  (9)
          </option>
          <option class="level-0" value="178">
           统计计算  (28)
          </option>
          <option class="level-1" value="40">
           优化与模拟  (15)
          </option>
          <option class="level-1" value="43">
           贝叶斯方法  (6)
          </option>
          <option class="level-0" value="378">
           软件应用  (116)
          </option>
          <option class="level-1" value="44">
           统计图形  (36)
          </option>
          <option class="level-1" value="110">
           统计软件  (83)
          </option>
         </select>
        </aside>
        <aside class="widget widget_recent_comments" id="recent-comments-2">
         <h3 class="widget-title">
          最新评论
         </h3>
         <ul id="recentcomments">
          <li class="recentcomments">
           <span class="comment-author-link">
            fineboom
           </span>
           发表在《
           <a href="http://cos.name/2016/06/use-shiny-fleetly-set-up-visual-prototype-system/#comment-7317">
            利用shiny包快速搭建可视化原型系统
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            胡家新
           </span>
           发表在《
           <a href="http://cos.name/2016/06/r%e8%af%ad%e5%8d%83%e5%af%bb%e7%ac%ac%e4%b8%89%e6%9c%9f%ef%bc%9a%e5%bc%a0%e6%97%a0%e5%bf%8c%e7%a9%b6%e7%ab%9f%e7%88%b1%e8%b0%81%ef%bc%9f/#comment-7316">
            R语千寻第三期：张无忌究竟爱谁？
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            <a class="url" href="http://www.zijiacha.com/category.php?id=6" rel="external nofollow">
             南糯山普洱茶
            </a>
           </span>
           发表在《
           <a href="http://cos.name/2016/06/r%e8%af%ad%e5%8d%83%e5%af%bb%e7%ac%ac%e4%b8%89%e6%9c%9f%ef%bc%9a%e5%bc%a0%e6%97%a0%e5%bf%8c%e7%a9%b6%e7%ab%9f%e7%88%b1%e8%b0%81%ef%bc%9f/#comment-7315">
            R语千寻第三期：张无忌究竟爱谁？
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            J
           </span>
           发表在《
           <a href="http://cos.name/2016/05/value-of-the-reputation-from-the-data/#comment-7314">
            数据告诉你：高信誉的卖家应该收高价，还是收低价？
           </a>
           》
          </li>
          <li class="recentcomments">
           <span class="comment-author-link">
            <a class="url" href="http://gg" rel="external nofollow">
             Hilda
            </a>
           </span>
           发表在《
           <a href="http://cos.name/2013/01/drawing-map-in-r-era/#comment-7311">
            R时代，你要怎样画地图？
           </a>
           》
          </li>
         </ul>
        </aside>
        <aside class="widget widget_rss" id="rss-282869971">
         <h3 class="widget-title">
          <a class="rsswidget" href="http://cos.name/cn/topics/feed/">
           <img src="http://cos.name/wp-includes/images/rss.png"/>
          </a>
          <a class="rsswidget" href="http://cos.name/cn/topics/feed/">
           中文论坛新帖
          </a>
         </h3>
         <ul>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/417372/">
            处理时间数据和产生时间序列的问题
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/6790/">
            《统计陷阱》下载 （How to lie with statistics）
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/818/">
            统计学的世界（第五版）
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/16574/">
            class(x) 返回值值是AsIs,AsIs代表什么，有什么用处？
           </a>
          </li>
          <li>
           <a class="rsswidget" href="http://cos.name/cn/topic/417366/">
            如何用R绘制一个分类算法的决策规则
           </a>
          </li>
         </ul>
        </aside>
        <aside class="widget widget_text" id="text-2">
         <h3 class="widget-title">
          登录/RSS
         </h3>
         <div class="textwidget">
          <ul>
           <li>
            <a href="http://cos.name/wp-admin/">
             登录
            </a>
           </li>
           <li>
            <a href="http://cos.name/feed/" title="使用 RSS 2.0 同步站点内容">
             文章
             <abbr title="Really Simple Syndication">
              RSS
             </abbr>
            </a>
           </li>
           <li>
            <a href="http://cos.name/comments/feed/" title="RSS 上的最近评论">
             评论
             <abbr title="Really Simple Syndication">
              RSS
             </abbr>
            </a>
           </li>
          </ul>
         </div>
        </aside>
       </div>
       <!-- .widget-area -->
      </div>
      <!-- .sidebar-inner -->
     </div>
     <!-- #tertiary -->
    </div>
    <!-- #main -->
    <footer class="site-footer" id="colophon" role="contentinfo">
     <div class="site-info">
      版权所有 © 2014 统计之都 | 由
      <a href="http://wordpress.org/">
       WordPress
      </a>
      构建 | 主题修改自
      <a href="http://wordpress.org/themes/twentythirteen">
       Twenty Thirteen
      </a>
     </div>
     <!-- .site-info -->
    </footer>
    <!-- #colophon -->
   </div>
   <!-- #page -->
   <p style="margin:0;padding:0;height:1px;overflow:hidden;">
    <a href="http://www.wumii.com/widget/relatedItems" style="border:0;">
     <img src="http://static.wumii.cn/images/pixel.png"/>
    </a>
   </p>
  </div>
 </body>
</html>